home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / relnotes / performer_eoe / ch4.z / ch4
Text File  |  2001-04-17  |  27KB  |  727 lines

  1.  
  2.  
  3.  
  4.                                   - 1 -
  5.  
  6.  
  7.  
  8.        4.  _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
  9.  
  10.  
  11.        This chapter lists the problems with the OpenGL Performer
  12.        libraries and with the shared memory configurations.
  13.  
  14.        Note:  This list is specific to OpenGL Performer for IRIX
  15.        systems.  Known problems with OpenGL Performer for Linux can
  16.        be found in the Linux release notes, installed in
  17.        /usr/doc/performer-2.4/ (Linux only).
  18.  
  19.  
  20.        4.1  _IIII_RRRR_IIII_XXXX _6666_...._5555
  21.  
  22.        In IRIX 6.5 through IRIX 6.5.4, a change in the semantics of
  23.        sginap() can cause frames to be missed if the application is
  24.        running in FLOAT or LOCK phase and finishing more than a
  25.        full field early.  The sginap() call is used by OpenGL
  26.        Performer specifically in the case where the application
  27.        finishes more than a full field ahead of schedule.  This
  28.        does not affect applications running at field rate (ie. 60
  29.        Hz) or applications running at their requested rate.  This
  30.        was fixed in the IRIX 6.5.5 update.
  31.  
  32.        A workaround is to give the program a realtime scheduling
  33.        priority using the npri program (which must be run as root
  34.        or with the CAP_SCHED_MGT capability):
  35.  
  36.           # npri -s RR -r <any number 0-255> <program> <args>
  37.  
  38.            or:
  39.  
  40.           # npri -s FIFO -r <any number 0-255> <program> <args>
  41.  
  42.        To allow users to run npri without full root permissions,
  43.        you can give the npri program the set-capability-on-
  44.        execution attribute:
  45.  
  46.           # chcap CAP_SCHED_MGT+eip /usr/sbin/npri
  47.  
  48.        If you later want to change it back:
  49.  
  50.           # chcap all= /usr/sbin/npri
  51.  
  52.        See the _n_p_r_i(1) and _c_h_c_a_p(1) references pages for more
  53.        information.
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.                                   - 2 -
  71.  
  72.  
  73.  
  74.        _4._2  _GGGG_eeee_nnnn_eeee_rrrr_aaaa_llll _IIII_RRRR_IIII_XXXX _IIII_ssss_ssss_uuuu_eeee_ssss
  75.  
  76.           +o _6._x _O_S _b_u_g _w_i_t_h _s_h_a_r_e_d _a_r_e_n_a _p_l_a_c_e_m_e_n_t: An obscure bug
  77.             in IRIX 6.2-6.4 with default placement of the shared
  78.             arena can cause programs to die due to lack of heap
  79.             space for malloc. Typcially the program will die during
  80.             X or GL initialization with a message like:
  81.  
  82.               PF Warning/Internal(12):   pfWindow::openNewNoPort()
  83.             - null visual
  84.               Xlib: sequence lost (0x10002 > 0x10) in reply type
  85.             0x0
  86.               X Error: 0
  87.                 Request Major Code 0 ()
  88.                 Error Serial #2
  89.                 Current Serial #16
  90.  
  91.                 Running the program through the unix system call
  92.             tracer (par):
  93.  
  94.                     par -s -i -SS prog options
  95.  
  96.                 will show messages like:
  97.  
  98.                     966mS[ 1]perfly_ogl( 4781): brk(0x10086e58)
  99.             errno = 12 (Not enough space)
  100.  
  101.                 shortly before the death.
  102.  
  103.             Workaround:  through the environment variable
  104.             PFSHAREDBASE or in with pfSharedArenaBase() before
  105.             pfInit(), explicitly set the address of the arena so
  106.             that it is not too close to the heap and does not
  107.             collide with other DSOs.  An address that has worked
  108.             with programs exhibiting the problem that are very
  109.             close to perfly is: 0x18000000.
  110.  
  111.                     ex:
  112.  
  113.                     pfSharedArenaBase(0x18000000);
  114.  
  115.             or
  116.  
  117.                     setenv PFSHAREDBASE 0x18000000
  118.  
  119.             If this address is not sufficient, run again with par
  120.             and the following environment variables set:
  121.  
  122.                     setenv _RLD_PATH /usr/lib/rld.debug; setenv
  123.             _RLD_ARGS -v
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.                                   - 3 -
  137.  
  138.  
  139.  
  140.             and redirect all output to a file.  Look for the
  141.             addresses of the mmap() calls and of address of DSO
  142.             load actions to find a free address range in which to
  143.             place the arena.  Compiling with some libraries
  144.             statically can make this operation easier.
  145.  
  146.           +o Using 7.2 Compilers you may encounter 'Unresolved
  147.             symbol ___rcis'.  Install patch 2483 (or its successor)
  148.             - "7.2 compiler runtime environment for IRIX
  149.             6.2/6.3/6.4" to fix the problem
  150.  
  151.           +o The XSGIvc library on IRIX 6.2 did not support 64bit
  152.             operation before patch 1808 and so functionality
  153.             requiring XSGIvc, such as dynamic video resize, are
  154.             currently not enabled when running 64bit.
  155.  
  156.           +o IRIS GL is not recommended on any OpenGL native
  157.             machines such as O2, Octane, IMPACT graphics or
  158.             InfiniteReality -- OpenGL operation should be used
  159.             instead.
  160.  
  161.           +o Overflowing texture memory when using Clipmapping can
  162.             cause texture corruption.  This is a bug in OpenGL in
  163.             InfiniteReality.  If you try to run cliptex -2 mof.ct
  164.             (forcing both 2 windows and 2 cliptextures), you will
  165.             may get garbage texture and extremely slow (even locked
  166.             up) performance.  This is due to a known bug in the iR
  167.             OpenGL:  cliptextures can't be swapped in texture
  168.             memory.  It will also happen with perfly, and with
  169.             cliptex -3 hl.ct if you partially fill the texture
  170.             memory with other running programs first.  So if you
  171.             overfill your texture memory with cliptextures, you
  172.             will see this behavior.
  173.  
  174.           +o When linking executables with Performer libraries, an
  175.             alarming number of warnings about symbols that are
  176.             defined in multiple .so's may be printed. These are
  177.             harmless but the appropriate compiler option to disable
  178.             the warning has not yet been identified.
  179.  
  180.           +o On RealityEngine graphics, when more than 512 textures
  181.             are used the hardware and or host-side software may
  182.             become confused and in some cases, may falter
  183.             completely and terminate the application. This is a
  184.             graphics library limitation:  IRIS Performer has no
  185.             limit to the number of textures.
  186.  
  187.           +o On other graphic systems than RealityEngine and
  188.             InfiniteReality, the video rate used by IRIS Performer
  189.             for frame rate control is computed at application
  190.             startup on some machines and is not always exactly
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.                                   - 4 -
  203.  
  204.  
  205.  
  206.             correct.  The problem is greatly aggravated when the
  207.             system's load average is at least one process per cpu,
  208.             so it is best to start a Performer app when the system
  209.             is otherwise quiet.  If this is a problem, the video
  210.             rate can be set with _p_f_V_i_d_e_o_R_a_t_e or run locked to a
  211.             processor by using _p_f_u_L_o_c_k_D_o_w_n_P_r_o_c (the -L option in
  212.             perfly).
  213.  
  214.           +o Although IRIS Performer supports it, the OpenGL
  215.             rendering model does not support different material
  216.             color modes for front and back materials.  When
  217.             Performer encounters this case, it disables (ignores)
  218.             the material color mode for the back material when
  219.             using OpenGL.
  220.  
  221.  
  222.  
  223.        4.3  _IIII_RRRR_IIII_XXXX_6666_...._2222 _aaaa_nnnn_dddd _6666_...._4444 _aaaa_nnnn_dddd _NNNN_3333_2222_////_6666_4444_bbbb_iiii_tttt
  224.  
  225.           +o _V_i_d_e_o _c_h_a_n_n_e_l _c_o_n_t_r_o_l _a_n_d _d_y_n_a_m_i_c _r_e_s_i_z_e: The XSGIvc
  226.             X11 extension for video control did not support 64 bit
  227.             operation in IRIX 6.2 and 6.4.  This is fixed in IRIX
  228.             6.5. IRIS Performer 2.2.2 will support support video
  229.             channel control under 64bit operation on IRIX 6.5 and
  230.             later.
  231.  
  232.           +o _S_t_a_t_i_s_t_i_c_s: The PFSTATSHW_CPU pfStats statistics class
  233.             for accumulation of statistics on CPU usage are not yet
  234.             implemented for IRIX6 operation (64-bit or 32-bit).
  235.  
  236.  
  237.  
  238.        4.4  _IIII_nnnn_ffff_iiii_nnnn_iiii_tttt_eeee_RRRR_eeee_aaaa_llll_iiii_tttt_yyyy
  239.  
  240.             _G_a_n_g _S_w_a_p pfChanCalligEnable() [perfly -U] will not set
  241.             up GangSwap correctly in multipipe configurations. The
  242.             visible result is a 1Hz frame rate, even without
  243.             database [the same thing happen if you start GangSwap
  244.             and you do not have the SwapReady cables linking the
  245.             pipes together].  You will have to force the GangSwap
  246.             using PFCHAN_SWAPBUFFERS_HW attribute in addition to
  247.             pfChanCalligEnable() [perfly -G -U ...]
  248.  
  249.           +o _V_i_d_e_o _c_h_a_n_n_e_l _c_o_n_t_r_o_l _a_n_d _X: X primitives will not be
  250.             knowledgeable of video resizing operations.  This means
  251.             that on a resized video channel, the X cursor will not
  252.             be drawn in the proper location or of the proper size,
  253.             and X menus may be unusable.
  254.  
  255.           +o _V_i_d_e_o _c_h_a_n_n_e_l _c_o_n_t_r_o_l _a_n_d _m_u_l_t_i_p_l_e _a_p_p_l_i_c_a_t_i_o_n_s: On
  256.             InfiniteReality, only one application may be bound to a
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.                                   - 5 -
  269.  
  270.  
  271.  
  272.             video channel.  If, for example, two copies of perfly
  273.             are running, only one may do dynamic resizing of a
  274.             video channel.  Additionally, if a second application
  275.             attempts to bind to the video channel while the first
  276.             is still executing, it will incur an X error and may
  277.             terminate.  See the pfVideoChannel reference page for
  278.             more information.
  279.  
  280.           +o _G_r_a_p_h_i_c_s _p_i_p_e_l_i_n_e _s_t_a_t_i_s_t_i_c_s _a_n_d _m_u_l_t_i_p_l_e _a_p_p_l_i_c_a_t_i_o_n_s:
  281.             In base IRIX6.x on InfiniteReality, only one
  282.             application may be doing graphics pipeline statistics
  283.             at a time.  If a second application attempts to collect
  284.             graphics pipeline statistics simultaneously with the
  285.             first, the second application may hang.  If for
  286.             example, there are two copies of perfly executing, one
  287.             should only select graphics pipeline statistics in one
  288.             at a time and disable them in one program before
  289.             enabling them in another.
  290.  
  291.           +o _F_i_l_l _s_t_a_t_i_s_t_i_c_s _a_n_d _G_r_a_p_h_i_c_s _p_i_p_e_l_i_n_e _s_t_a_t_i_s_t_i_c_s:
  292.             InfiniteReality on base IRIX 6.X does not support
  293.             simultaneous usage of fill stats and graphics pipeline
  294.             statistics.  If both of these modes are enabled
  295.             simultaneously, even through separate programs,
  296.             "KONA_DMAREAD: Resource busy" error messages will be
  297.             generated.  IRIS Performer 2.2.2 does not allow the
  298.             Application to enable both simultaneously.
  299.  
  300.           +o _F_r_a_m_e _b_u_f_f_e_r _r_e_a_d _b_a_c_k _a_n_d _D_V_R InfiniteReality does not
  301.             support read back from the frame buffer when DVR is in
  302.             use. Performer will not prevent that to happen, for
  303.             example asking for fill stats when DVR is on.
  304.  
  305.           +o InfiniteReality does not support DVR on X for video
  306.             larger than 1280.  IRIS Performer will resize only in
  307.             the Y direction to prevent the whole screen from being
  308.             garbage.
  309.  
  310.           +o _V_i_s_u_a_l_s _f_o_r _O_p_e_n_G_L/_X:  InfiniteReality does not support
  311.             10 bits RGB with alpha plane. Only 12 bits per
  312.             component is supported when the alpha plane is enabled.
  313.  
  314.  
  315.  
  316.        4.5  _llll_iiii_bbbb_pppp_rrrr
  317.  
  318.           +o _p_f_F_l_u_x_e_s: can run out of valid buffers for updating
  319.             slow readers.  If you are running Lock or Float Phase,
  320.             and if the App is much faster than the Cull/Draw then
  321.             Draw process may not be able to catch up and use non up
  322.             to date data until the App slows down.  For morphing
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.                                   - 6 -
  335.  
  336.  
  337.  
  338.             applications that require eye-frame-accurate data to be
  339.             passed from the APP or CULL to the DRAW process, a
  340.             workaround is to use pfCycleBuffer instead of pfFlux.
  341.  
  342.           +o _A_n_t_i_a_l_i_a_s_i_n_g: When it is not multisampling, _p_f_A_n_t_i_a_l_i_a_s
  343.             can significantly degrade performance.  Specifically,
  344.             on systems other than InfiniteReality and
  345.             RealityEngine, use _p_f_A_n_t_i_a_l_i_a_s only for lines and
  346.             points.
  347.  
  348.           +o _C_o_p_l_a_n_a_r _p_o_l_y_g_o_n_s: _p_f_D_e_c_a_l works only on machines that
  349.             support the _s_t_e_n_c_i_l or _d_i_s_p_l_a_c_e_p_o_l_y_g_o_n command.  The
  350.             default decaling mode for PFDECAL_BASE uses
  351.             _d_i_s_p_l_a_c_e_p_o_l_y_g_o_n instead of _s_t_e_n_c_i_l.  This can
  352.             significantly improve rendering performance on some
  353.             machines but can also result in visual anomalies where
  354.             layer polygons incorrectly "poke" through other
  355.             geometry.  If you wish to use stencil then specify the
  356.             PFDECAL_BASE_HIGH_QUALITY token. In addition the new
  357.             reference plane mode is supported only on
  358.             InfiniteReality and only with patch 1808 or equiv.
  359.  
  360.           +o _S_t_e_n_c_i_l: stencil is used for PFDECAL_BASE_HIGH_QUALITY
  361.             and for pfStats mode PFSTATSHW_GFXPIPE_FILL.  The
  362.             Extreme graphics platform supports stencil with reduced
  363.             depth buffer resolution so IRIS Performer will not
  364.             allocate stencil bits in the default framebuffer
  365.             configuration. While allocated by default, the
  366.             allocation of extra stencil bits can also affect your
  367.             depth resolution and number of samples for multisample
  368.             on InfiniteReality and RealityEngine graphics
  369.             platforms.
  370.  
  371.           +o _T_r_a_n_s_p_a_r_e_n_c_y: _p_f_T_r_a_n_s_p_a_r_e_n_c_y works only on machines
  372.             that support either _b_l_e_n_d_f_u_n_c_t_i_o_n or _m_u_l_t_i_s_a_m_p_l_e
  373.             (InfiniteReality and RealityEngine).
  374.  
  375.           +o Since having other applications running can impact
  376.             real-time performance, it's sometimes desirable to
  377.             minimize the number of daemons and other processes.  If
  378.             you have problems achieving real-time behavior, try the
  379.             _p_f_u_L_o_c_k_C_P_U utility code in _l_i_b_p_f_u_t_i_l.  You might also
  380.             try turning off the desktop support and other daemons
  381.             that are not crucial to your application, e.g.:
  382.  
  383.                 % touch ~/.disableDesktop
  384.  
  385.             or
  386.  
  387.                 % mkdir ~/.desktop-<machinename>
  388.                 % touch ~/.desktop-<machinename>/nodesktop
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.                                   - 7 -
  401.  
  402.  
  403.  
  404.             and for total removal do:
  405.  
  406.                 % chkconfig desktop off
  407.                 % chkconfig objectserver off (gone in IRIX 6.5)
  408.                 % chkconfig directoryserver off
  409.                 % chkconfig fontserver off
  410.  
  411.  
  412.        4.6  _llll_iiii_bbbb_pppp_ffff
  413.  
  414.           +o Intersection testing of line segments (_p_f_N_o_d_e_I_s_e_c_t_S_e_g_s)
  415.             against geometry in _p_f_B_i_l_l_b_o_a_r_d nodes is not yet
  416.             implemented; only the bounding sphere of the entire
  417.             _p_f_B_i_l_l_b_o_a_r_d is available.
  418.  
  419.           +o _C_h_a_n_n_e_l _f_a_d_e _L_O_D _a_t_t_r_i_b_u_t_e_s _a_n_d _m_i_x_e_d _g_r_a_p_h_i_c_s
  420.             _c_o_n_f_i_g_u_r_a_t_i_o_n_s: Channel fade LOD attributes are set in
  421.             the application process.  The existence of multisample,
  422.             required for fade LOD, is tested at the time that the
  423.             attributes are set with _p_f_C_h_a_n_L_O_D_A_t_t_r.  This test for
  424.             multisample uses the application process window system
  425.             connection (_p_f_O_p_e_n_W_S_C_o_n_n_e_c_t_i_o_n) or else the DISPLAY
  426.             environment variable to select a screen for determining
  427.             graphics configuration, rather than testing the current
  428.             window of the pfChannel.  In a multipipe environment
  429.             where one graphics pipeline has multisample capability
  430.             (for example, with or without sufficient Raster Manager
  431.             boards for the chosen framebuffer resolution) and one
  432.             does not, the application process needs to have a
  433.             window system connection or DISPLAY that points to the
  434.             pipeline with multisample sufficiency, in which case
  435.             the non-multisample pfChannels will try to use fade
  436.             LOD.  In a multi-window environment, windows without
  437.             multisample on a system with multisample will try to
  438.             use fade LOD.
  439.  
  440.           +o Triple-Keyboard Option(TKO) doesn't work for IRISGL.
  441.             It works fine for OpenGL.
  442.  
  443.           +o _C_U_L_L_o_D_R_A_W process model does not work properly.
  444.  
  445.           +o _p_f_E_a_r_t_h_S_k_y does not work for offset viewing frustrum.
  446.  
  447.           +o _p_f_A_S_D has memory leaks in the database paging. Your
  448.             applicaion may run out of memory after several ASD
  449.             tiles paging.
  450.  
  451.           +o _p_f_A_S_D has alignment timing problem. When the number of
  452.             triangles in pfASD is large, there might be
  453.             inconsistency in position updates of moving vehicles on
  454.             terrain.
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                   - 8 -
  467.  
  468.  
  469.  
  470.           +o If you explicitly edit the _p_f_T_e_x_t_u_r_e, and then remove
  471.             all reference to TexLOD, the texLOD is not destroyed.
  472.             This is also consistent with our apply{Min,Max}LOD
  473.             behavior.
  474.  
  475.           +o _N_6_4 static perfly fail to link in compilation.
  476.  
  477.           +o When excuting _c_l_i_p_f_l_y, on the first few frames the
  478.             virtual LOD offset and other params seem to be bogus,
  479.             as if the node CULL func that sets it is not getting
  480.             executed or not having the proper effect.
  481.  
  482.           +o _M_u_l_t_i _T_h_r_e_a_d_e_d _s_t_a_g_e_s get only one configStage
  483.             callback.
  484.  
  485.           +o Performer applications die with an X error when run on
  486.             remote IMPACT display on which IRIX6.4 IMPACT Patch
  487.             1935 is installed. If you need to do remote rendering
  488.             on an IMPACT display, do not install patch 1935 or
  489.             upgrade to a more recent IMPACT patch (2677 or
  490.             replacement).
  491.  
  492.           +o _p_f_C_l_i_p_T_e_x_t_u_r_e doesn't work with 8bit luminance data on
  493.             IMPACT patch 1935. It might be fixed in future IMPACT
  494.             patches.
  495.  
  496.           +o For _p_f_S_C_S (and _p_f_S_C_S which is derived from it), the
  497.             value of pfGetTravMat() is not well-behaved-- sometimes
  498.             it returns a matrix that includes the pfSCS
  499.             transformation and sometimes not.  The semantics
  500.             (according to the man page) may change and become more
  501.             sane in future patch releases of Performer 2.2.
  502.  
  503.  
  504.        4.7  _llll_iiii_bbbb_pppp_ffff_uuuu_tttt_iiii_llll
  505.  
  506.           +o Calling _p_f_u_N_e_w_C_l_i_p_C_e_n_t_e_r_N_o_d_e or _p_f_u_N_e_w_M_P_C_l_i_p_C_e_n_t_e_r_N_o_d_e
  507.             on a pfGeode (possibly other types as well) as a child
  508.             when a pfdBuilder is being used to create a scene graph
  509.             (e.g. in the .im loader) can result in the callback
  510.             being lost.  One workaround is to create a dummy
  511.             pfGroup node above the pfGeode and use that instead.
  512.  
  513.           +o The implementation of _p_f_u_G_e_t_C_l_o_s_e_s_t_P_o_i_n_t (and therefore
  514.             _p_f_u_N_e_w_C_l_i_p_C_e_n_t_e_r_N_o_d_e which uses it) assumes that all
  515.             coordinate scaling in pfSCS and pfDCS nodes in the
  516.             scene are uniform, i.e. that the scale factor is the
  517.             same in all three coordinate axis directions.  If this
  518.             is not the case, the answer returned will be valid
  519.             coordinates (and texture coordinates) of a point on a
  520.             triangle, but it may not be the actual closest point.
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.                                   - 9 -
  533.  
  534.  
  535.  
  536.           +o In the case of degenerate triangles the coordinates
  537.             returned by _p_f_u_G_e_t_C_l_o_s_e_s_t_P_o_i_n_t may not be on or close
  538.             to an object at all.
  539.  
  540.           +o _p_f_u_G_e_t_C_l_o_s_e_s_t_P_o_i_n_t does not traverse point or line
  541.             primitives.
  542.  
  543.           +o Interaction of _p_f_u_G_e_t_C_l_o_s_e_s_t_P_o_i_n_t with automatic
  544.             texture coordinate generation is very limited.  Only
  545.             PFTG_OBJECT_LINEAR is supported, and then only when a
  546.             pfTexGen is explicitly attached to the pfGeoSet's
  547.             pfGeoState, and even this has not been well tested.
  548.             The safest approach is to specify texture coordinates
  549.             explicitly.
  550.  
  551.  
  552.        4.8  _llll_iiii_bbbb_pppp_ffff_uuuu_iiii
  553.  
  554.           +o Libpfui has both a C API and a C++ API.  The C API is
  555.             actually wrappers around the C++ API and is not
  556.             complete.
  557.  
  558.  
  559.        4.9  _llll_iiii_bbbb_pppp_ffff_dddd_bbbb
  560.  
  561.           +o _p_f_d_L_o_a_d_F_i_l_e__d_x_f: The DXF loader does not fully support
  562.             the format.
  563.  
  564.           +o _p_f_d_L_o_a_d_F_i_l_e__s_g_o: The SGO loader does not support
  565.             triangle strips.
  566.  
  567.           +o _p_f_b file format does not support ClipMap textures.
  568.  
  569.  
  570.        4.10  _SSSS_aaaa_mmmm_pppp_llll_eeee _PPPP_rrrr_oooo_gggg_rrrr_aaaa_mmmm_ssss
  571.  
  572.           +o _p_g_u_i_d_e/_l_i_b_p_u_i/_m_o_t_i_f_x_f_o_r_m_e_r: The motifxformer.c program
  573.             dumps core when loading new files in N32 or 64-bit with
  574.             6.2 and 6.3. This Motif bug has been fixed in 6.4.
  575.  
  576.           +o _p_g_u_i_d_e/_l_i_b_p_f/_C/_l_p_s_t_a_t_e: The lpstate.c example for
  577.             demonstrating pfLPointStates assumes sophisticated
  578.             texturing capabilities that may not be fully supported
  579.             on IMPACT, Extreme, or Indy graphics platforms.
  580.  
  581.           +o _p_e_r_f_l_y _n_e_e_d_s _f_u_l_l _s_c_r_e_e_n _w_i_n_d_o_w _f_o_r _D_V_R:  When running
  582.             perfly and using dynamic video resolution (DVR), perfly
  583.             should be run with a full-screen, no-border window (ie,
  584.             do not use the -W option).  If run from a smaller, or
  585.             bordered, window, the resizing will be very apparent as
  586.             it affects the entire video channel (which is usually
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.                                   - 10 -
  599.  
  600.  
  601.  
  602.             the entire screen for normal workstation operation).
  603.  
  604.           +o _p_e_r_f_l_y _w_i_t_h _A_u_t_o_m_a_t_i_c-_D_V_R _w_i_l_l _b_e _r_e_d_r_a_w_i_n_g _G_U_I _w_h_e_n
  605.             _e_n_a_b_l_e_d:  When the graphical user-interface (GUI) is
  606.             enabled and DVR is on, the GUI must be redrawn whenever
  607.             there is a video channel resize, or whenever the mouse
  608.             is in the GUI. This is very expensive and a drop in
  609.             framerate will be incurred.
  610.  
  611.           +o _7._2 _c_o_m_p_i_l_e_r_s compilers warn about the obsolete and no
  612.             longer support Olimit flag that has to be replaced with
  613.             -OPT:Olimit=n in the makefile.
  614.  
  615.           +o The default pfGeoState applied to the textured font
  616.             loaded with pfdLoadFont_type1( "anyFontName",
  617.             PFDFONT_TEXTURED ) ) has a transparency setting of
  618.             PFTR_ON | PFTR_NO_OCCLUDE.  This causes major rendering
  619.             problems for the text. WAR: manually set this value to
  620.             PFTR_ON and everything works right.
  621.  
  622.  
  623.        4.11  _N_o_t_e_s__o_n__S_h_a_r_e_d__M_e_m_o_r_y__C_o_n_f_i_g_u_r_a_t_i_o_n_s
  624.  
  625.        IRIS Performer requires shared memory and uses a memory-
  626.        mapped file, the location of which depends on the value of
  627.        the PFTMPDIR environment variable:
  628.  
  629.           +o If PFTMPDIR is not set, Performer uses /_d_e_v/_z_e_r_o as the
  630.             default.  Running an application in this configuration:
  631.  
  632.                - Uses swap space
  633.  
  634.                - Does not require disk space until main memory is
  635.                  exhausted
  636.  
  637.                - Is faster than using a regular memory mapped file
  638.                  via PFTMPDIR
  639.  
  640.                - Causes IRIX to kill the process(es) and log an
  641.                  error to the console if the application runs out
  642.                  of space for shared memory in the swap partition.
  643.  
  644.           +o If PFTMPDIR is set, Performer creates files in the
  645.             specified directory.  Running an application in this
  646.             configuration:
  647.  
  648.                - Requires disk space even before main memory is
  649.                  exhausted
  650.  
  651.                - Is slower than /_d_e_v/_z_e_r_o because it touches the
  652.                  disk
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.                                   - 11 -
  665.  
  666.  
  667.  
  668.                - Produces appropriately sized core dump files with
  669.                  no limit set by IRIS Performer
  670.  
  671.                - Might cause a core dump from a segmentation
  672.                  violation inside _p_f_M_a_l_l_o_c if the application runs
  673.                  out of space for shared memory in the file system
  674.                  containing PFTMPDIR
  675.  
  676.                - PFTMPDIR should be set only to a directory on a
  677.                  local file system.
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.